package com.bsj.sipgateway.web.service;

import com.bsj.power.common.config.global.JsonResult;
import com.bsj.power.common.def.dto.AttentionDTO;

/**
 * @Description
 * @Author zhaoyang
 * @Date 2024/9/2 16:30
 */
public interface AttentionService {

    /**
     * 摄像头关注/取消关注
     *
     * @param did 设备数据库id
     * @param type 操作类型 1是关注0是取消关注
     * @return
     */
    JsonResult deviceAttention(Long did, Integer type);

    /**
     * 目录修改
     *
     * @param attentionDTO
     * @return
     */
    JsonResult update(AttentionDTO attentionDTO);

    /**
     * 目录添加（仅添加目录）
     *
     * @param attentionDTO
     * @return
     */
    JsonResult add(AttentionDTO attentionDTO);

    /**
     * 目录删除
     *
     * @param attentionId 目录id
     * @return
     */
    JsonResult delete(Integer attentionId);

    /**
     * 摄像头绑定/取绑目录
     * @param attentionId 目录id
     * @param dids 摄像头id
     * @param type 操作类型1是转移2是复制
     * @return
     */
    JsonResult attentionBindDevice(Integer attentionId, String dids, Integer type);

    /**
     * 获取关注目录
     *
     * @return
     */
    JsonResult listAttentions();

    /**
     * 获取关注目录和关注的设备
     *
     * @return
     */
    JsonResult listAttentionAndDevices();

    /**
     * 复制目录和关注的设备
     *
     * @param attentionDTO
     * @return
     */
    JsonResult copy(AttentionDTO attentionDTO);

    /**
     * 在分组中取消绑定
     *
     * @param aid
     * @param did
     * @return
     */
    JsonResult cancelInGroup(Long aid, Long did);

    /**
     *
     * @return
     */
    JsonResult listUserAttentionDeviceIds();

}
